#ifndef  _PLAY_STATE_H_
#define _PLAY_STATE_H_

#include "SDL.h"
#include "GameState.h"
#include "GameObject.h"
#include "Player.h"
#include "Sprite.h"
#include <vector>

class PlayState : public GameState
{
        public:
			std::vector<GameObject*> GameObjects; // Create a vector of pointers to game objects

            void Init();
            void Clean();
                
            void Pause();
            void Resume();
                
            void HandleEvents(Game* game);
            void Update(Game* game);
            void Draw(Game* game);
                
            // Implement Singleton Pattern
            static PlayState* Instance()
            {
				return &m_PlayState;
            }
                
        protected:
			PlayState() {}
                
        private:
			static PlayState m_PlayState;

			Player* player; // Create a player
			GameObject* gameobject; // Another object

};

#endif